-
OS
-
system
- FS : NTFS, FAT33, exFAT
-
프로세스, 스케줄러: 프로세스 시스템
- 프로세스 : 실행중인 프로그램(의 일부)
-
하드디스크, 저장장치에 존재하는 프로그램을 FS을 통해 불러옴
-
실행파일 형식 execute file format
- PE, ELF, COFF, MACH-O
-
실행파일 포맷 = 프로세스 관리 시스템
- 운영체제에게 요청하는 내용 있어야 함
- 메모리 용량, 자원(장치, 드라이버, 인터럽트), 접근권한(ACL)
- 위 내용을 관리하는 프로세스 관리 시스템이 제일 중요
-
-
메모리 관리 시스템
- 스레드, 멀티코어 프로그래밍
- Memory Address Space
-
파일시스템
- 플래시 메모리는 1~3년 정도 읽기, 쓰기 없으면 휘발됨
- 하드디스크도 섹터 소실됨
-
장치 관리 시스템
-
드라이버는 HW를 제어하기 위한 SW
- HW 제작사가 제작해서 제공
- 드라이버 등록시 메모리 주소, 메모리 공간, IRQ 번호
-
Active 장치 : IRQ 번호를 받음 = 인터럽트 사용
-
HDD : Active 장치 → ATA 버스 컨트롤러, SAS 버스 컨트롤러, 플래시 메모리
- 메모리 버스 컨트롤러 : 메모리에 버스별로 제어 신호를 보냄
- 컨트롤러 탑재되어 IRQ 번호도 할당됨
- 버스 프로토콜을 이용하여 CPU와 통신하고, 제어, 협상하기 때문에 Active
-
오류 메시지는 다양한 경로로부터 올 수 있다.
- HW, SW 등등
-
-
Passive 장치 : IRQ 번호 받지 않음
-
USB 카메라 : 패시브 장치
- 메모리 버스를 사용하는 경우 대부분 패시브 장치
- CPU와 APIC(←컨트롤러) : CPU는 인터럽트를 걸기도 하고, 걸리기도 한다.
-
에러, 예외 등 인터럽트가 필요한 경우 CPU 드라이버가 주기적으로 검사하여 처리한다.
- 예외처리가 된다!
-
-
-
네트워크 관리 시스템 : 최근 OS에 포함되는 시스템에서 빼기도 함
- TCP/IP
- 권한, 계정, 보안 관리 시스템
-
6가지 시스템이 존재
- 이용하여 프로그래밍하는 것을 시스템 프로그래밍
-
C언어 : 커널이 아직 C언어로 만들어짐
- C언어 창시자 : Dennis Ritchie, Ken Thomson
-
처음 포터블 어셈블러 개념으로 개발
-
명령어 체계와 독립적인 프로그래밍 언어
- 어떤 명령어 체계든지 C로 표현 가능
-
- LLVM : https://ko.wikipedia.org/wiki/LLVM
-
OS를 구성하는 시스템
2020-07-06